﻿using Painter.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace Painter.Component
{
    class GroupGrid:Grid
    {
        public GroupGrid()
        {
            HorizontalAlignment = HorizontalAlignment.Left;
            VerticalAlignment = VerticalAlignment.Top;
        }
        protected override Size MeasureOverride(Size arrangeSize)
        {
            ScaleData scale_data = ScaleData.Find_CreateScaleData(this);
            Children.Cast<FrameworkElement>().ToList().ForEach(o => {
                if (o != null && double.IsNaN(o.Width)) o.Width = scale_data.BaseWidth;
                if (o != null && double.IsNaN(o.Height)) o.Height = scale_data.BaseHeight;
            });
            if (double.IsNaN(Width)) Width = scale_data.BaseWidth;
            if (double.IsNaN(Height)) Height = scale_data.BaseHeight;
            return base.MeasureOverride(arrangeSize);
        }
        protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            //ScrollViewer scroll = Parent as ScrollViewer;
            //scroll?.ScrollToVerticalOffset(scroll?.sc.VerticalOffset);
            //Console.Out.WriteLine(scroll?.ScrollInfo.VerticalOffset);
        }
    }
}
